package com.shujia.common

import org.apache.spark.sql.SparkSession

abstract class SparkTool {

  var day_id: String = _
  var month_id: String = _

  def main(args: Array[String]): Unit = {
    if (args.length == 0) {
      println("请传入时间分区：day_id")
      return
    }

    //获取当天的分区
    day_id = args(0)

    //月分区
    month_id = day_id.substring(0, 6)


    val spark: SparkSession = SparkSession
      .builder()
      .appName(this.getClass.getSimpleName)
      .enableHiveSupport() //读取hive的元数据，集群中需要整合hive
      .getOrCreate()

    //需要在子类中实现run方法
    run(spark)

  }

  /**
    *
    * 在子类中实现run方法，编写自定义的代码逻辑
    *
    * @param spark ： spark 入口
    */

  def run(spark: SparkSession): Unit


}
